| Автор перевода: Майкл "Antares" Клишин | Предыдущая | Следующая | Оглавление |
Среда разработки: Flash MX 2004.
Плеер: SWF файлы, опубликованные для Flash Player 6 или более поздних версий, проигрываются во Flash Player 7 и более поздних.
my_snap.hitTestTextNearPos(x:Number,y:Number[,maxDistance:Number] ): Number
x Число, отражающее координату x мувиклипа, в которой производится проверка на наличие текста объекта my_snap.
y Число, отражающее координату y мувиклипа, в которой производится проверка на наличие текста объекта my_snap.
maxDistance Необязательный параметр-число, отражающий максимальное расстояние от точки с координатами x, y, на котором производится поиск текста. Расстояние рассчитывается от центра каждого символа. Значением по умолчанию является 0.
Число, отражающее индекс символа в объекте my_snap, который находится ближе всего к точкес указанными координатами x, y. Возвращает -1 в случае, если таких символов не найдено или они не попадают в метрический диапазон (смотри пункт “Описание”).
Метод; позволяет определить, какой символ в объекте TextSnapshot находится в (или рядом с) точке с координатами x, y мувиклипа, в котором содержится текст объекта my_snap.
Если вы опустите (или передадите значение 0) параметр maxDistance, точка с координатами x, y должна лежать внутри границ (bounding box) my_snap.
Этот метод работает корректно только со шрифтами, имеющими метрические данные о символах ; по умолчанию, Flash не включает эту информацию для статических полей. В некоторых случаях из-за этого метод возвращает -1 вместо индекса. Чтобы убедиться, что возвращаться будет индекс, вы можете принудительно включить метрические данные о шрифте в среде разработки. Для этого добавьте на Сцену текстовое поле, использующее этот же шрифт, выберите опцию Character Options и укажите, что в ролик должен быть внедрен один символ. Не важно, какой именно символ(ы) вы выберите, даже если это будет символ, не используемый в статическом текстовом поле.
Код в нижеследующем примере показывает, как пользоваться данным методом. Перед использованием этого кода, разместите на Сцене статическое текстовое поле с текстом “TextSnapshot Example”. Во время тестирования кода проведите курсором по статическому текстовому полю.
Замечание: Если во время исполнения кода символы не выбираются , вы должны поместить динамическое текстовое поле и произвести ряд действий. Смотри вышепункт “Описание” этого раздела.
// в этом примере предполагается, что мувиклип содержит
// статическое текстовое поле с текстом "TextSnapshot Example"
var my_mc:MovieClip = this;
var my_ts:TextSnapshot = my_mc.getTextSnapshot();
my_mc.onMouseMove = function() {
// определяем, над каким символом находится курсор (если такие есть)
var hitIndex:Number = my_ts.hitTestTextNearPos(_xmouse, _ymouse, 0);
// сбрасываем выделение
my_ts.setSelected(0, my_ts.getCount(), false);
if (hitIndex>=0) {
// если курсор над текстом, выделяем соответствующий символ
my_ts.setSelected(hitIndex, hitIndex+1, true);
}
};
MovieClip.getTextSnapshot(),MovieClip._x,MovieClip._y
| Посмотреть комментарии LiveDocs | Предыдущая | Следующая | Оглавление | |